package com.ssy.lingxi.platform.manage.service;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.manage.model.request.shop.ShopRuleRequest;
import com.ssy.lingxi.platform.manage.entity.base.ShopRule;

/**
 * @menu 平台后台-系统管理-商城规则配置
 * @author wyx
 * @version 2.0.0
 * @date 2021-09-26
 */
public interface IShopRuleService {
    /**
     * 商城规则配置列表
     * @param pageVO     分页实体
     * @param memberName 会员名称
     */
    Wrapper<PageData<ShopRule>> list(PageVO pageVO, String memberName);

    /**
     * 获取商城规则配置信息
     * @param id 商城规则id
     */
    Wrapper<ShopRule> get(Long id);

    /**
     * 新增商城规则配置
     * @param shopRuleRequest 请求实体
     */
    Wrapper<Void> add(ShopRuleRequest shopRuleRequest);

    /**
     * 修改商城规则配置
     * @param shopRuleRequest 请求实体
     */
    Wrapper<Void> update(ShopRuleRequest shopRuleRequest);

    /**
     * 启用/停用商城规则配置
     * @param id     商城规则id
     * @param status 状态 0-无效 1-有效
     */
    Wrapper<Void> updateStatus(Long id, Integer status);

    /**
     * 删除商城规则配置
     * @param id 商城规则id
     */
    Wrapper<Void> delete(Long id);

    /**
     * 初始化到redis
     */
    void initToRedis();
}
